/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cr.ac.una.sive.managed;

import cr.ac.una.sive.entidad.HorarioReservacionGeneral;
import cr.ac.una.sive.entidad.ReservacionGeneral;
import cr.ac.una.sive.entidadLocal.HorarioReservacionGeneralLocal;
import cr.ac.una.sive.entidadLocal.ReservacionGeneralLocal;
import cr.ac.una.sive.sessionbean.HorarioReservacionGeneralFacade;
import cr.ac.una.sive.sessionbean.HorarioReservacionGeneralFacadeLocal;
import cr.ac.una.sive.sessionbean.ReservacionGeneralFacadeLocal;
import cr.ac.una.sive.vista.util.FacesUtils;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author claribel
 */
@ManagedBean
@RequestScoped
public class HorarioReservacionGeneralFacadeManaged {
    @EJB(mappedName = "ejb/ReservacionGeneralFacade")
    private ReservacionGeneralFacadeLocal reservacionGeneralFacade;
    @EJB(mappedName = "ejb/HorarioReservacionGeneralFacade")
    private HorarioReservacionGeneralFacadeLocal horarioReservacionGeneralFacade;

    
    private ArrayList<HorarioReservacionGeneralLocal> listaHorariosReservacionGeneral = null;
    
    private String estado="inserta";
    private HorarioReservacionGeneralLocal horarioReservacionGeneralLocal = new HorarioReservacionGeneralLocal();

    public HorarioReservacionGeneralLocal getHorarioReservacionGeneralLocal() {
        return horarioReservacionGeneralLocal;
    }

    public void setHorarioReservacionGeneralLocal(HorarioReservacionGeneralLocal horarioReservacionGeneralLocal) {
        this.horarioReservacionGeneralLocal = horarioReservacionGeneralLocal;
    }
    /**
     * Creates a new instance of HorarioReservacionGeneralFacadeManaged
     */
    public HorarioReservacionGeneralFacadeManaged() {
    }
    
        public List getListaHorariosReservacionGeneral() { 
//       listaMarchamos = null;
        if (listaHorariosReservacionGeneral == null) { 
            ArrayList listaHorarios2 = new ArrayList(horarioReservacionGeneralFacade.findAll());
            
        listaHorariosReservacionGeneral = new ArrayList(); 
        HorarioReservacionGeneral horarioReservacionGeneral; 
        for (int i = 0; i < listaHorarios2.size(); i++) { 
            horarioReservacionGeneral = (HorarioReservacionGeneral) listaHorarios2.get(i); 
        listaHorariosReservacionGeneral.add(new HorarioReservacionGeneralLocal(horarioReservacionGeneral)); 
        } 
        
        } //sort(); 
        return listaHorariosReservacionGeneral;
        
    }
    
      public void doNothing(){
    
    }
    
    
     public void guardar() {
        FacesContext context = FacesContext.getCurrentInstance();

        FacesMessage message = new FacesMessage();

        HorarioReservacionGeneral horarioReservacionGeneral = new HorarioReservacionGeneral();
        try {
            
                ReservacionGeneralFacadeManaged reservacionGeneralFacadeManaged = (ReservacionGeneralFacadeManaged) FacesUtils.getManagedBean("reservacionGeneralFacadeManaged");
                
                ReservacionGeneralLocal reservacionGeneralLocal = reservacionGeneralFacadeManaged.getReservacionGeneralLocal();
                                             
                horarioReservacionGeneral.setHoraInicio(horarioReservacionGeneralLocal.getHoraInicio());
                horarioReservacionGeneral.setHoraFin(horarioReservacionGeneralLocal.getHoraFin());
                horarioReservacionGeneral.setFecha(horarioReservacionGeneralLocal.getFecha());
               
                ReservacionGeneral u = reservacionGeneralFacadeManaged.obtenerReservacionGeneral();
                horarioReservacionGeneral.setReservacionGeneral(u);
                

            if (estado.equals("inserta")) {
                
                               
                 
                horarioReservacionGeneralFacade.edit(horarioReservacionGeneral);
                
                message.setSeverity(FacesMessage.SEVERITY_INFO);
                message.setSummary("Horario Insertado Correctamente");
                message.setSummary("Horario Insertado Correctamente");
                context.addMessage("Campos:save", message);               
                this.listaHorariosReservacionGeneral = null;
            }
//             else if (estado.equals("modifica")) {
//                marchamoFacade.edit(marchamo);
//                message.setSeverity(FacesMessage.SEVERITY_INFO);
//                message.setSummary("Marchamo Modificado Correctamente");
//                message.setDetail("Marchamo Modificado Correctamente");
//                context.addMessage("Campos:save", message);
//                 this.exitoso = true;
//                this.estado = "inserta";
//            }

        } catch (Exception e) {
            message.setSeverity(FacesMessage.SEVERITY_INFO);
            message.setSummary(e.getMessage());
            message.setDetail(e.getMessage());
            context.addMessage("menssage_campos", message);
        }


        


    }
}
